Xiaomi Content Helper - #4494
Conversation
|
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. |
The 0.8 threshold controlling how far into the next zone the PID 'Pushy' mode can push was hardcoded. Exposed it as a QSettings entry (default 0.8) and added a TextField control under Training Program Options in settings.qml. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Automatic update of translatable strings extracted from source code. Updated 30 language files in src/translations/ - Updated by GitHub Actions (Testing Mode) - Triggered by: pull_request - Date: 2026-06-08 13:56:27 UTC
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
The hook counts entries in the "settings" array of settings-catalog.json and updates settingCount before every commit, so the field never drifts. Also documents the check in src/CLAUDE.md. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
The #endif closed the Q_OS_ANDROID block but the function itself was never closed, causing a cascade of 'qualified-id in declaration before token' errors on non-Android builds (Raspberry Pi). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Replace the auto-computed zone 1 lower boundary (zone1Limit - zoneWidth) with a user-adjustable setting trainprogram_pid_hr_recovery_zone_limit (default 60% of max HR). Appears in UI above the existing Pushy Zone Limit setting. Allows users to fine-tune the lower boundary of zone 1 so the speed-up trigger adapts to their individual heart rate profile. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. |
|
I split the non-heart changes into a new PR: #4786. Keeping this PR open because it still contains the heart-rate related changes that need separate review/validation, especially:
So #4786 can move forward with the Android Content Helper and related non-heart work, while this PR remains the place to review the heart-rate behavior that does not look fully settled yet. |
# Conflicts: # src/TrainingProgramsList.qml
|
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. |
Stryd 5 pods broadcast a power value that already compensates for the treadmill incline on their own, even when no incline is entered in the Stryd app. This conflicts with QZ's own inclination gain formula and makes the reported power unreliable when running on an incline. BLE sniffing (thanks @AndreaPro) found that writing 15 00 to the proprietary characteristic 7e78aa18-72cd-d3b8-a81f-5b7e589bea0f puts the pod into Indoor mode, where it stops adjusting power for incline on its own, leaving QZ's own formula as the only source of the correction. The pod resets to Outdoor mode automatically on disconnect, so no cleanup is needed on our side. Refs #4480
Andrea found (via BLE sniffing) that the Stryd5 pod acknowledges the 15 00/15 01 mode write on characteristic 7e78aa19, echoing the confirmed mode back in byte 2. Track that ack and resend the Indoor mode request (up to 3 times, 1s apart) if it's not received, in case the initial write is missed or the pod boots into Outdoor mode. Refs #4480
The mode-switch write was targeting 7e78aa18, which is the service UUID, not a characteristic UUID - the service only exposes two characteristics, 7e78aa20 (write, handle 33) and 7e78aa19 (notify, handle 35), confirmed from Andrea's GATT discovery log. The write never matched any characteristic, so the mode switch silently never fired. Target 7e78aa20 instead. Refs #4480
#4480